package lk.icta.sms;

import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.namespace.QName;


/**
 * This object contains factory methods for each 
 * Java content interface and Java element interface 
 * generated in the lk.icta.schemas.xsd.kannel.handler.v1 package. 
 * <p>An ObjectFactory allows you to programatically 
 * construct new instances of the Java representation 
 * for XML content. The Java representation of XML 
 * content can consist of schema derived interfaces 
 * and classes representing the binding of schema 
 * type definitions, element declarations and model 
 * groups.  Factory methods for each of these are 
 * provided in this class.
 * 
 */
@XmlRegistry
public class ObjectFactory {

    private final static QName _GovSMSAuthenticationFault_QNAME = new QName("http://schemas.icta.lk/xsd/kannel/handler/v1/", "GovSMSAuthenticationFault");
    private final static QName _GovSMSRoutingFault_QNAME = new QName("http://schemas.icta.lk/xsd/kannel/handler/v1/", "GovSMSRoutingFault");
    private final static QName _GovSMSFault_QNAME = new QName("http://schemas.icta.lk/xsd/kannel/handler/v1/", "GovSMSFault");
    private final static QName _GovSMSInvalidDepartmentFault_QNAME = new QName("http://schemas.icta.lk/xsd/kannel/handler/v1/", "GovSMSInvalidDepartmentFault");
    private final static QName _SMSRequestDataSmscId_QNAME = new QName("http://schemas.icta.lk/xsd/kannel/handler/v1/", "smscId");
    private final static QName _SMSRequestDataBillable_QNAME = new QName("http://schemas.icta.lk/xsd/kannel/handler/v1/", "billable");

    /**
     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: lk.icta.schemas.xsd.kannel.handler.v1
     * 
     */
    public ObjectFactory() {
    }

    /**
     * Create an instance of {@link GovSMSAuthenticationFaultType }
     * 
     */
    public GovSMSAuthenticationFaultType createGovSMSAuthenticationFaultType() {
        return new GovSMSAuthenticationFaultType();
    }

    /**
     * Create an instance of {@link GovSMSInvalidDepartmentFaultType }
     * 
     */
    public GovSMSInvalidDepartmentFaultType createGovSMSInvalidDepartmentFaultType() {
        return new GovSMSInvalidDepartmentFaultType();
    }

    /**
     * Create an instance of {@link SMSRequest }
     * 
     */
    public SMSRequest createSMSRequest() {
        return new SMSRequest();
    }

    /**
     * Create an instance of {@link SMSRequestData }
     * 
     */
    public SMSRequestData createSMSRequestData() {
        return new SMSRequestData();
    }

    /**
     * Create an instance of {@link GovSMSRoutingFaultType }
     * 
     */
    public GovSMSRoutingFaultType createGovSMSRoutingFaultType() {
        return new GovSMSRoutingFaultType();
    }

    /**
     * Create an instance of {@link SMSAck }
     * 
     */
    public SMSAck createSMSAck() {
        return new SMSAck();
    }

    /**
     * Create an instance of {@link GovSMSFaultType }
     * 
     */
    public GovSMSFaultType createGovSMSFaultType() {
        return new GovSMSFaultType();
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link GovSMSAuthenticationFaultType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://schemas.icta.lk/xsd/kannel/handler/v1/", name = "GovSMSAuthenticationFault")
    public JAXBElement<GovSMSAuthenticationFaultType> createGovSMSAuthenticationFault(GovSMSAuthenticationFaultType value) {
        return new JAXBElement<GovSMSAuthenticationFaultType>(_GovSMSAuthenticationFault_QNAME, GovSMSAuthenticationFaultType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link GovSMSRoutingFaultType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://schemas.icta.lk/xsd/kannel/handler/v1/", name = "GovSMSRoutingFault")
    public JAXBElement<GovSMSRoutingFaultType> createGovSMSRoutingFault(GovSMSRoutingFaultType value) {
        return new JAXBElement<GovSMSRoutingFaultType>(_GovSMSRoutingFault_QNAME, GovSMSRoutingFaultType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link GovSMSFaultType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://schemas.icta.lk/xsd/kannel/handler/v1/", name = "GovSMSFault")
    public JAXBElement<GovSMSFaultType> createGovSMSFault(GovSMSFaultType value) {
        return new JAXBElement<GovSMSFaultType>(_GovSMSFault_QNAME, GovSMSFaultType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link GovSMSInvalidDepartmentFaultType }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://schemas.icta.lk/xsd/kannel/handler/v1/", name = "GovSMSInvalidDepartmentFault")
    public JAXBElement<GovSMSInvalidDepartmentFaultType> createGovSMSInvalidDepartmentFault(GovSMSInvalidDepartmentFaultType value) {
        return new JAXBElement<GovSMSInvalidDepartmentFaultType>(_GovSMSInvalidDepartmentFault_QNAME, GovSMSInvalidDepartmentFaultType.class, null, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://schemas.icta.lk/xsd/kannel/handler/v1/", name = "smscId", scope = SMSRequestData.class)
    public JAXBElement<String> createSMSRequestDataSmscId(String value) {
        return new JAXBElement<String>(_SMSRequestDataSmscId_QNAME, String.class, SMSRequestData.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "http://schemas.icta.lk/xsd/kannel/handler/v1/", name = "billable", scope = SMSRequestData.class)
    public JAXBElement<String> createSMSRequestDataBillable(String value) {
        return new JAXBElement<String>(_SMSRequestDataBillable_QNAME, String.class, SMSRequestData.class, value);
    }

}
